home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2000 March / maximum-cd-2000-03.iso / Quake3 Game Source / Q3AGameSource.exe / Main / ui_syscalls.c < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-18  |  7.0 KB  |  253 lines

  1. // Copyright (C) 1999-2000 Id Software, Inc.
  2. //
  3. #include "ui_local.h"
  4.  
  5. // this file is only included when building a dll
  6. // syscalls.asm is included instead when building a qvm
  7.  
  8. static int (QDECL *syscall)( int arg, ... ) = (int (QDECL *)( int, ...))-1;
  9.  
  10. void dllEntry( int (QDECL *syscallptr)( int arg,... ) ) {
  11.     syscall = syscallptr;
  12. }
  13.  
  14. int PASSFLOAT( float x ) {
  15.     float    floatTemp;
  16.     floatTemp = x;
  17.     return *(int *)&floatTemp;
  18. }
  19.  
  20. void trap_Print( const char *string ) {
  21.     syscall( UI_PRINT, string );
  22. }
  23.  
  24. void trap_Error( const char *string ) {
  25.     syscall( UI_ERROR, string );
  26. }
  27.  
  28. int trap_Milliseconds( void ) {
  29.     return syscall( UI_MILLISECONDS ); 
  30. }
  31.  
  32. void trap_Cvar_Register( vmCvar_t *cvar, const char *var_name, const char *value, int flags ) {
  33.     syscall( UI_CVAR_REGISTER, cvar, var_name, value, flags );
  34. }
  35.  
  36. void trap_Cvar_Update( vmCvar_t *cvar ) {
  37.     syscall( UI_CVAR_UPDATE, cvar );
  38. }
  39.  
  40. void trap_Cvar_Set( const char *var_name, const char *value ) {
  41.     syscall( UI_CVAR_SET, var_name, value );
  42. }
  43.  
  44. float trap_Cvar_VariableValue( const char *var_name ) {
  45.     int temp;
  46.     temp = syscall( UI_CVAR_VARIABLEVALUE, var_name );
  47.     return (*(float*)&temp);
  48. }
  49.  
  50. void trap_Cvar_VariableStringBuffer( const char *var_name, char *buffer, int bufsize ) {
  51.     syscall( UI_CVAR_VARIABLESTRINGBUFFER, var_name, buffer, bufsize );
  52. }
  53.  
  54. void trap_Cvar_SetValue( const char *var_name, float value ) {
  55.     syscall( UI_CVAR_SETVALUE, var_name, PASSFLOAT( value ) );
  56. }
  57.  
  58. void trap_Cvar_Reset( const char *name ) {
  59.     syscall( UI_CVAR_RESET, name ); 
  60. }
  61.  
  62. void trap_Cvar_Create( const char *var_name, const char *var_value, int flags ) {
  63.     syscall( UI_CVAR_CREATE, var_name, var_value, flags );
  64. }
  65.  
  66. void trap_Cvar_InfoStringBuffer( int bit, char *buffer, int bufsize ) {
  67.     syscall( UI_CVAR_INFOSTRINGBUFFER, bit, buffer, bufsize );
  68. }
  69.  
  70. int trap_Argc( void ) {
  71.     return syscall( UI_ARGC );
  72. }
  73.  
  74. void trap_Argv( int n, char *buffer, int bufferLength ) {
  75.     syscall( UI_ARGV, n, buffer, bufferLength );
  76. }
  77.  
  78. void trap_Cmd_ExecuteText( int exec_when, const char *text ) {
  79.     syscall( UI_CMD_EXECUTETEXT, exec_when, text );
  80. }
  81.  
  82. int trap_FS_FOpenFile( const char *qpath, fileHandle_t *f, fsMode_t mode ) {
  83.     return syscall( UI_FS_FOPENFILE, qpath, f, mode );
  84. }
  85.  
  86. void trap_FS_Read( void *buffer, int len, fileHandle_t f ) {
  87.     syscall( UI_FS_READ, buffer, len, f );
  88. }
  89.  
  90. void trap_FS_Write( const void *buffer, int len, fileHandle_t f ) {
  91.     syscall( UI_FS_WRITE, buffer, len, f );
  92. }
  93.  
  94. void trap_FS_FCloseFile( fileHandle_t f ) {
  95.     syscall( UI_FS_FCLOSEFILE, f );
  96. }
  97.  
  98. int trap_FS_GetFileList(  const char *path, const char *extension, char *listbuf, int bufsize ) {
  99.     return syscall( UI_FS_GETFILELIST, path, extension, listbuf, bufsize );
  100. }
  101.  
  102. qhandle_t trap_R_RegisterModel( const char *name ) {
  103.     return syscall( UI_R_REGISTERMODEL, name );
  104. }
  105.  
  106. qhandle_t trap_R_RegisterSkin( const char *name ) {
  107.     return syscall( UI_R_REGISTERSKIN, name );
  108. }
  109.  
  110. qhandle_t trap_R_RegisterShaderNoMip( const char *name ) {
  111.     return syscall( UI_R_REGISTERSHADERNOMIP, name );
  112. }
  113.  
  114. void trap_R_ClearScene( void ) {
  115.     syscall( UI_R_CLEARSCENE );
  116. }
  117.  
  118. void trap_R_AddRefEntityToScene( const refEntity_t *re ) {
  119.     syscall( UI_R_ADDREFENTITYTOSCENE, re );
  120. }
  121.  
  122. void trap_R_AddPolyToScene( qhandle_t hShader , int numVerts, const polyVert_t *verts ) {
  123.     syscall( UI_R_ADDPOLYTOSCENE, hShader, numVerts, verts );
  124. }
  125.  
  126. void trap_R_AddLightToScene( const vec3_t org, float intensity, float r, float g, float b ) {
  127.     syscall( UI_R_ADDLIGHTTOSCENE, org, PASSFLOAT(intensity), PASSFLOAT(r), PASSFLOAT(g), PASSFLOAT(b) );
  128. }
  129.  
  130. void trap_R_RenderScene( const refdef_t *fd ) {
  131.     syscall( UI_R_RENDERSCENE, fd );
  132. }
  133.  
  134. void trap_R_SetColor( const float *rgba ) {
  135.     syscall( UI_R_SETCOLOR, rgba );
  136. }
  137.  
  138. void trap_R_DrawStretchPic( float x, float y, float w, float h, float s1, float t1, float s2, float t2, qhandle_t hShader ) {
  139.     syscall( UI_R_DRAWSTRETCHPIC, PASSFLOAT(x), PASSFLOAT(y), PASSFLOAT(w), PASSFLOAT(h), PASSFLOAT(s1), PASSFLOAT(t1), PASSFLOAT(s2), PASSFLOAT(t2), hShader );
  140. }
  141.  
  142. void trap_UpdateScreen( void ) {
  143.     syscall( UI_UPDATESCREEN );
  144. }
  145.  
  146. void trap_CM_LerpTag( orientation_t *tag, clipHandle_t mod, int startFrame, int endFrame, float frac, const char *tagName ) {
  147.     syscall( UI_CM_LERPTAG, tag, mod, startFrame, endFrame, PASSFLOAT(frac), tagName );
  148. }
  149.  
  150. void trap_S_StartLocalSound( sfxHandle_t sfx, int channelNum ) {
  151.     syscall( UI_S_STARTLOCALSOUND, sfx, channelNum );
  152. }
  153.  
  154. sfxHandle_t    trap_S_RegisterSound( const char *sample ) {
  155.     return syscall( UI_S_REGISTERSOUND, sample );
  156. }
  157.  
  158. void trap_Key_KeynumToStringBuf( int keynum, char *buf, int buflen ) {
  159.     syscall( UI_KEY_KEYNUMTOSTRINGBUF, keynum, buf, buflen );
  160. }
  161.  
  162. void trap_Key_GetBindingBuf( int keynum, char *buf, int buflen ) {
  163.     syscall( UI_KEY_GETBINDINGBUF, keynum, buf, buflen );
  164. }
  165.  
  166. void trap_Key_SetBinding( int keynum, const char *binding ) {
  167.     syscall( UI_KEY_SETBINDING, keynum, binding );
  168. }
  169.  
  170. qboolean trap_Key_IsDown( int keynum ) {
  171.     return syscall( UI_KEY_ISDOWN, keynum );
  172. }
  173.  
  174. qboolean trap_Key_GetOverstrikeMode( void ) {
  175.     return syscall( UI_KEY_GETOVERSTRIKEMODE );
  176. }
  177.  
  178. void trap_Key_SetOverstrikeMode( qboolean state ) {
  179.     syscall( UI_KEY_SETOVERSTRIKEMODE, state );
  180. }
  181.  
  182. void trap_Key_ClearStates( void ) {
  183.     syscall( UI_KEY_CLEARSTATES );
  184. }
  185.  
  186. int trap_Key_GetCatcher( void ) {
  187.     return syscall( UI_KEY_GETCATCHER );
  188. }
  189.  
  190. void trap_Key_SetCatcher( int catcher ) {
  191.     syscall( UI_KEY_SETCATCHER, catcher );
  192. }
  193.  
  194. void trap_GetClipboardData( char *buf, int bufsize ) {
  195.     syscall( UI_GETCLIPBOARDDATA, buf, bufsize );
  196. }
  197.  
  198. void trap_GetClientState( uiClientState_t *state ) {
  199.     syscall( UI_GETCLIENTSTATE, state );
  200. }
  201.  
  202. void trap_GetGlconfig( glconfig_t *glconfig ) {
  203.     syscall( UI_GETGLCONFIG, glconfig );
  204. }
  205.  
  206. int trap_GetConfigString( int index, char* buff, int buffsize ) {
  207.     return syscall( UI_GETCONFIGSTRING, index, buff, buffsize );
  208. }
  209.  
  210. int    trap_LAN_GetLocalServerCount( void ) {
  211.     return syscall( UI_LAN_GETLOCALSERVERCOUNT );
  212. }
  213.  
  214. void trap_LAN_GetLocalServerAddressString( int n, char *buf, int buflen ) {
  215.     syscall( UI_LAN_GETLOCALSERVERADDRESSSTRING, n, buf, buflen );
  216. }
  217.  
  218. int trap_LAN_GetGlobalServerCount( void ) {
  219.     return syscall( UI_LAN_GETGLOBALSERVERCOUNT );
  220. }
  221.  
  222. void trap_LAN_GetGlobalServerAddressString( int n, char *buf, int buflen ) {
  223.     syscall( UI_LAN_GETGLOBALSERVERADDRESSSTRING, n, buf, buflen );
  224. }
  225.  
  226. int trap_LAN_GetPingQueueCount( void ) {
  227.     return syscall( UI_LAN_GETPINGQUEUECOUNT );
  228. }
  229.  
  230. void trap_LAN_ClearPing( int n ) {
  231.     syscall( UI_LAN_CLEARPING, n );
  232. }
  233.  
  234. void trap_LAN_GetPing( int n, char *buf, int buflen, int *pingtime ) {
  235.     syscall( UI_LAN_GETPING, n, buf, buflen, pingtime );
  236. }
  237.  
  238. void trap_LAN_GetPingInfo( int n, char *buf, int buflen ) {
  239.     syscall( UI_LAN_GETPINGINFO, n, buf, buflen );
  240. }
  241.  
  242. int trap_MemoryRemaining( void ) {
  243.     return syscall( UI_MEMORY_REMAINING );
  244. }
  245.  
  246. void trap_GetCDKey( char *buf, int buflen ) {
  247.     syscall( UI_GET_CDKEY, buf, buflen );
  248. }
  249.  
  250. void trap_SetCDKey( char *buf ) {
  251.     syscall( UI_SET_CDKEY, buf );
  252. }
  253.